1. The Field of the Invention
The present invention relates to user interfaces and content for real-time communication. More particularly, the present invention relates to methods, systems, and computer program products that provide a sending system with enhanced flexibility for the type of content that may be included in a real-time message or enhanced control over the presentation of the real-time message at a receiving system.
2. The Relevant Technology
The popularity of the Internet and satellite-based technologies has enhanced the way people communicate with each other by allowing users quick and easy access to a virtually endless sea of communication methods. Any given person may now contact another person with greater or lesser immediacy using various media, including the World Wide Web, electronic mail (email), cellular, satellite or Internet telephony, video conferencing, and instant text messaging. These methods allow people to stay in touch with each other around the globe, and to access information on many subjects, in some cases instantly.
Currently, instant text messaging is one of the more popular forms of relatively immediate (or real-time) communication. In operation, a user installs software on a computer to communicate with another user within a generally proprietary instant communication network. When the user executes the software, the software displays a user interface (UI) in which the sending user may type and send text messages to a recipient user, the text appearing at the recipient user almost instantly (or, in real-time). Instant messaging, therefore, offers several advantages over other types of text messaging services such as email.
For example, in email, a user sends an electronic message to a recipient user through an email server, a server stores the sender's message, and the recipient user retrieves (downloads) the sent message from the email server. The recipient may or may not have an email user interface open at the time the message is sent, and may view the message later. In contrast, traditional instant messaging requires, generally, that a sending and receiving user in a conversation be online with the same service provider at the same time. This is due in part to the proprietary nature of most instant messaging networks and the nature of the instant messaging implementations.
Instant messaging transmits a message directly from one user to another user, generally without storage and retrieval from an intermediate server. Messages appear in each user's interface in time-dependant alternating segments, following the flow of a conversation. For example, a sending user's text may appear at the top of the sender's interface and receiver's interface, with the receiving user's response just under the sent text. This alternating of sequential conversation lines allows for a more fluid computerized text conversation between users, as compared to email for example. Thus, once a recipient user receives a message, the recipient user may begin typing a response, and may have the response viewed immediately, in line with the previous text.
Despite the convenience and relative immediacy of instant messaging, some significant shortcomings remain. FIG. 1, for example, summarizes some of the problems found in known instant message implementations. In particular, FIG. 1 illustrates a prior art representation of two instant messaging user interfaces, 100 and 150. User interface 100 for User Kurt includes a conversation window 102, a text input box 104, a send button 106, and conversation lines 110, 115, and 120. Similarly, user interface 150 for User Bryan includes a conversation window 152, a text input box 154, a send button 156, and conversation lines 160, 165, 170 and 175. It should be understood that user interfaces 100 and 150 operate both to send and to receive real-time messages.
As shown in FIG. 1, there is no visual distinction, other than user name, between message lines 110, 115, and 120—the lines are spaced in identical, horizontal positioning relative to each other, with no variation in font or font color. Neither user is able to control or influence how a message may be displayed to other users. This lack of formatting distinction between conversation lines can make it difficult to distinguish between users, particularly in longer conversations, conversations between more than two users, or old conversations that have been saved for later review. Note also that a significant amount of space is devoted to the user name display.
Another problem illustrated in FIG. 1 relates to relatively long messages. For example, in user interface 150, as User Bryan types a message that exceeds the size of the text input box 154, a scroll bar becomes active on the right side of input box 154 allowing User Bryan to preview his message by scrolling up and down through portions of the message. Generally, text input box 154 should be relatively small since instant messaging tends to involve short messages. Enlarging the input box for all messages is undesirable because a large input box consumes space that might otherwise be put to more productive use. Scrolling, however, also is undesirable because the additional user input required interferes with the real-time aspect of instant messaging.
As also shown in FIG. 1, occasionally a user will make an error while entering an instant message. For example, lines 115 and 165 represent a message with a misspelled word. Existing instant messaging systems allow for correction of a prior message by sending a corrected message, represented by lines 120 and 170. Here, User Kurt 100 and User Bryan 150 both see that Bryan misspelled the word bagel as “baggel” 115, but both also see Bryan's correction, and the error in lines 115 and 165 remains. Corrections of this type are particularly burdensome if they arrive out of order, after the conversation has moved on, possibly to another topic entirely. Among other things, one reason instant messaging conversations may move on to new topics before a correction can be made is that known implementations do not provide adequate indications that one party to a conversation is composing a message.
Transferring files via known instant messaging implementations also can be somewhat cumbersome as shown FIG. 1. Kurt types to Bryan in input box 104 that he will be sending Bryan a file through the instant messaging application. Rather than sending the file directly to Bryan through the interface, Bryan's interface 100 prompts Bryan through a separate interface 180 to either accept or reject the file transfer to Bryan's computer storage. Bryan's user interface 100 presents neither the file nor a representation of the file. Accordingly, Bryan may only view the file after accepting the file for download through interface 180.
Yet another problem with existing interface for real-time communication relates to emoticons. An emoticon or emotional icon is a textual or graphical expression of emotion, such a smile “:)” or  that is suitable for instant messaging. Presumably emoticons help compensate for the absence of intonation, body language, and other expressions of emotion that occur in other types of conversations. Known instant messaging implementations fail to allow users the opportunity of defining or creating their own emoticons, and in some cases fail to show a graphical representation for a textually entered emoticon until after a message is sent. For example, a text sequence such as “:)” may not display as , for either User Kurt or User Bryan, until after sending the message that contains the text sequence, as illustrated in FIG. 1 by text box 104 and message line 175.
Accordingly, what is desired are systems, methods, and computer program products that provide a sending system with enhanced flexibility for the type of content that may be included in a real-time message or enhanced control over the presentation of the real-time message at a receiving system or otherwise facilitate sending and receiving real-time messages.